From: Jasper St. Pierre Date: Fri, 5 Apr 2013 01:43:42 +0000 (-0400) Subject: st-theme-node: Add a to_string function for debugging purposes X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~4243 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=53c609c27801e60673d322f3eba21f998a53d2ff;p=gnome-shell.git st-theme-node: Add a to_string function for debugging purposes https://bugzilla.gnome.org/show_bug.cgi?id=697274 --- diff --git a/src/st/st-theme-node.c b/src/st/st-theme-node.c index a9a1fb58c..51355a32a 100644 --- a/src/st/st-theme-node.c +++ b/src/st/st-theme-node.c @@ -3894,3 +3894,30 @@ st_theme_node_paint_equal (StThemeNode *node, return TRUE; } + +gchar * +st_theme_node_to_string (StThemeNode *node) +{ + GString *desc; + gchar **it; + + if (!node) + return g_strdup ("[null]"); + + desc = g_string_new (NULL); + g_string_append_printf (desc, + "[%p %s#%s", + node, + g_type_name (node->element_type), + node->element_id); + + for (it = node->element_classes; it && *it; it++) + g_string_append_printf (desc, ".%s", *it); + + for (it = node->pseudo_classes; it && *it; it++) + g_string_append_printf (desc, ":%s", *it); + + g_string_append_c (desc, ']'); + + return g_string_free (desc, FALSE); +} diff --git a/src/st/st-theme-node.h b/src/st/st-theme-node.h index fc6caa130..dabd5f544 100644 --- a/src/st/st-theme-node.h +++ b/src/st/st-theme-node.h @@ -271,6 +271,8 @@ void st_theme_node_paint (StThemeNode *node, void st_theme_node_invalidate_background_image (StThemeNode *node); void st_theme_node_invalidate_border_image (StThemeNode *node); +gchar * st_theme_node_to_string (StThemeNode *node); + void st_theme_node_paint_state_init (StThemeNodePaintState *state); void st_theme_node_paint_state_free (StThemeNodePaintState *state); void st_theme_node_paint_state_copy (StThemeNodePaintState *state,